from __clrclasses__.System import IDisposable as _n_0_t_0
from __clrclasses__.System import Enum as _n_0_t_1
from __clrclasses__.System import IComparable as _n_0_t_2
from __clrclasses__.System import IFormattable as _n_0_t_3
from __clrclasses__.System import IConvertible as _n_0_t_4
from __clrclasses__.System import MulticastDelegate as _n_0_t_5
from __clrclasses__.System import ICloneable as _n_0_t_6
from __clrclasses__.System import IntPtr as _n_0_t_7
from __clrclasses__.System import IAsyncResult as _n_0_t_8
from __clrclasses__.System import Array as _n_0_t_9
from __clrclasses__.System import AsyncCallback as _n_0_t_10
from __clrclasses__.System.IO import Stream as _n_1_t_0
from __clrclasses__.System.Net import NetworkCredential as _n_2_t_0
from __clrclasses__.System.Net import TransportContext as _n_2_t_1
from __clrclasses__.System.Runtime.Serialization import ISerializable as _n_3_t_0
from __clrclasses__.System.Security.Authentication import CipherAlgorithmType as _n_4_t_0
from __clrclasses__.System.Security.Authentication import HashAlgorithmType as _n_4_t_1
from __clrclasses__.System.Security.Authentication import ExchangeAlgorithmType as _n_4_t_2
from __clrclasses__.System.Security.Authentication import SslProtocols as _n_4_t_3
from __clrclasses__.System.Security.Authentication.ExtendedProtection import ChannelBinding as _n_5_t_0
from __clrclasses__.System.Security.Authentication.ExtendedProtection import ExtendedProtectionPolicy as _n_5_t_1
from __clrclasses__.System.Security.Cryptography.X509Certificates import X509CertificateCollection as _n_6_t_0
from __clrclasses__.System.Security.Cryptography.X509Certificates import X509Certificate as _n_6_t_1
from __clrclasses__.System.Security.Cryptography.X509Certificates import X509Chain as _n_6_t_2
from __clrclasses__.System.Security.Principal import TokenImpersonationLevel as _n_7_t_0
from __clrclasses__.System.Security.Principal import IIdentity as _n_7_t_1
from __clrclasses__.System.Threading.Tasks import Task as _n_8_t_0
import typing
class AuthenticatedStream(_n_1_t_0, _n_0_t_0):
    @property
    def IsAuthenticated(self) -> bool:"""IsAuthenticated { get; } -> bool"""
    @property
    def IsEncrypted(self) -> bool:"""IsEncrypted { get; } -> bool"""
    @property
    def IsMutuallyAuthenticated(self) -> bool:"""IsMutuallyAuthenticated { get; } -> bool"""
    @property
    def IsServer(self) -> bool:"""IsServer { get; } -> bool"""
    @property
    def IsSigned(self) -> bool:"""IsSigned { get; } -> bool"""
    @property
    def LeaveInnerStreamOpen(self) -> bool:"""LeaveInnerStreamOpen { get; } -> bool"""
class AuthenticationLevel(_n_0_t_1, _n_0_t_2, _n_0_t_3, _n_0_t_4):
    MutualAuthRequested: int
    MutualAuthRequired: int
    _None: int
    value__: int
class EncryptionPolicy(_n_0_t_1, _n_0_t_2, _n_0_t_3, _n_0_t_4):
    AllowNoEncryption: int
    NoEncryption: int
    RequireEncryption: int
    value__: int
class LocalCertificateSelectionCallback(_n_0_t_5, _n_0_t_6, _n_3_t_0):
    def __init__(self, object: object, method: _n_0_t_7) -> LocalCertificateSelectionCallback:...
    def BeginInvoke(self, sender: object, targetHost: str, localCertificates: _n_6_t_0, remoteCertificate: _n_6_t_1, acceptableIssuers: _n_0_t_9[str], callback: _n_0_t_10, object: object) -> _n_0_t_8:...
    def EndInvoke(self, result: _n_0_t_8) -> _n_6_t_1:...
    def Invoke(self, sender: object, targetHost: str, localCertificates: _n_6_t_0, remoteCertificate: _n_6_t_1, acceptableIssuers: _n_0_t_9[str]) -> _n_6_t_1:...
class NegotiateStream(AuthenticatedStream, _n_0_t_0):
    @property
    def ImpersonationLevel(self) -> _n_7_t_0:"""ImpersonationLevel { get; } -> TokenImpersonationLevel"""
    @property
    def RemoteIdentity(self) -> _n_7_t_1:"""RemoteIdentity { get; } -> IIdentity"""
    def __init__(self, innerStream: _n_1_t_0, leaveInnerStreamOpen: bool) -> NegotiateStream:...
    def __init__(self, innerStream: _n_1_t_0) -> NegotiateStream:...
    def AuthenticateAsClient(self, credential: _n_2_t_0, binding: _n_5_t_0, targetName: str, requiredProtectionLevel: ProtectionLevel, allowedImpersonationLevel: _n_7_t_0):...
    def AuthenticateAsClient(self, credential: _n_2_t_0, targetName: str, requiredProtectionLevel: ProtectionLevel, allowedImpersonationLevel: _n_7_t_0):...
    def AuthenticateAsClient(self, credential: _n_2_t_0, binding: _n_5_t_0, targetName: str):...
    def AuthenticateAsClient(self, credential: _n_2_t_0, targetName: str):...
    def AuthenticateAsClient(self):...
    def AuthenticateAsClientAsync(self, credential: _n_2_t_0, binding: _n_5_t_0, targetName: str, requiredProtectionLevel: ProtectionLevel, allowedImpersonationLevel: _n_7_t_0) -> _n_8_t_0:...
    def AuthenticateAsClientAsync(self, credential: _n_2_t_0, binding: _n_5_t_0, targetName: str) -> _n_8_t_0:...
    def AuthenticateAsClientAsync(self, credential: _n_2_t_0, targetName: str, requiredProtectionLevel: ProtectionLevel, allowedImpersonationLevel: _n_7_t_0) -> _n_8_t_0:...
    def AuthenticateAsClientAsync(self, credential: _n_2_t_0, targetName: str) -> _n_8_t_0:...
    def AuthenticateAsClientAsync(self) -> _n_8_t_0:...
    def AuthenticateAsServer(self, credential: _n_2_t_0, policy: _n_5_t_1, requiredProtectionLevel: ProtectionLevel, requiredImpersonationLevel: _n_7_t_0):...
    def AuthenticateAsServer(self, credential: _n_2_t_0, requiredProtectionLevel: ProtectionLevel, requiredImpersonationLevel: _n_7_t_0):...
    def AuthenticateAsServer(self, policy: _n_5_t_1):...
    def AuthenticateAsServer(self):...
    def AuthenticateAsServerAsync(self, credential: _n_2_t_0, policy: _n_5_t_1, requiredProtectionLevel: ProtectionLevel, requiredImpersonationLevel: _n_7_t_0) -> _n_8_t_0:...
    def AuthenticateAsServerAsync(self, credential: _n_2_t_0, requiredProtectionLevel: ProtectionLevel, requiredImpersonationLevel: _n_7_t_0) -> _n_8_t_0:...
    def AuthenticateAsServerAsync(self, policy: _n_5_t_1) -> _n_8_t_0:...
    def AuthenticateAsServerAsync(self) -> _n_8_t_0:...
    def BeginAuthenticateAsClient(self, credential: _n_2_t_0, binding: _n_5_t_0, targetName: str, requiredProtectionLevel: ProtectionLevel, allowedImpersonationLevel: _n_7_t_0, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsClient(self, credential: _n_2_t_0, targetName: str, requiredProtectionLevel: ProtectionLevel, allowedImpersonationLevel: _n_7_t_0, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsClient(self, credential: _n_2_t_0, binding: _n_5_t_0, targetName: str, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsClient(self, credential: _n_2_t_0, targetName: str, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsClient(self, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsServer(self, credential: _n_2_t_0, policy: _n_5_t_1, requiredProtectionLevel: ProtectionLevel, requiredImpersonationLevel: _n_7_t_0, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsServer(self, credential: _n_2_t_0, requiredProtectionLevel: ProtectionLevel, requiredImpersonationLevel: _n_7_t_0, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsServer(self, policy: _n_5_t_1, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsServer(self, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def EndAuthenticateAsClient(self, asyncResult: _n_0_t_8):...
    def EndAuthenticateAsServer(self, asyncResult: _n_0_t_8):...
class ProtectionLevel(_n_0_t_1, _n_0_t_2, _n_0_t_3, _n_0_t_4):
    EncryptAndSign: int
    _None: int
    Sign: int
    value__: int
class RemoteCertificateValidationCallback(_n_0_t_5, _n_0_t_6, _n_3_t_0):
    def __init__(self, object: object, method: _n_0_t_7) -> RemoteCertificateValidationCallback:...
    def BeginInvoke(self, sender: object, certificate: _n_6_t_1, chain: _n_6_t_2, sslPolicyErrors: SslPolicyErrors, callback: _n_0_t_10, object: object) -> _n_0_t_8:...
    def EndInvoke(self, result: _n_0_t_8) -> bool:...
    def Invoke(self, sender: object, certificate: _n_6_t_1, chain: _n_6_t_2, sslPolicyErrors: SslPolicyErrors) -> bool:...
class SslPolicyErrors(_n_0_t_1, _n_0_t_2, _n_0_t_3, _n_0_t_4):
    _None: int
    RemoteCertificateChainErrors: int
    RemoteCertificateNameMismatch: int
    RemoteCertificateNotAvailable: int
    value__: int
class SslStream(AuthenticatedStream, _n_0_t_0):
    @property
    def CheckCertRevocationStatus(self) -> bool:"""CheckCertRevocationStatus { get; } -> bool"""
    @property
    def CipherAlgorithm(self) -> _n_4_t_0:"""CipherAlgorithm { get; } -> CipherAlgorithmType"""
    @property
    def CipherStrength(self) -> int:"""CipherStrength { get; } -> int"""
    @property
    def HashAlgorithm(self) -> _n_4_t_1:"""HashAlgorithm { get; } -> HashAlgorithmType"""
    @property
    def HashStrength(self) -> int:"""HashStrength { get; } -> int"""
    @property
    def KeyExchangeAlgorithm(self) -> _n_4_t_2:"""KeyExchangeAlgorithm { get; } -> ExchangeAlgorithmType"""
    @property
    def KeyExchangeStrength(self) -> int:"""KeyExchangeStrength { get; } -> int"""
    @property
    def LocalCertificate(self) -> _n_6_t_1:"""LocalCertificate { get; } -> X509Certificate"""
    @property
    def RemoteCertificate(self) -> _n_6_t_1:"""RemoteCertificate { get; } -> X509Certificate"""
    @property
    def SslProtocol(self) -> _n_4_t_3:"""SslProtocol { get; } -> SslProtocols"""
    @property
    def TransportContext(self) -> _n_2_t_1:"""TransportContext { get; } -> TransportContext"""
    def __init__(self, innerStream: _n_1_t_0, leaveInnerStreamOpen: bool, userCertificateValidationCallback: RemoteCertificateValidationCallback) -> SslStream:...
    def __init__(self, innerStream: _n_1_t_0, leaveInnerStreamOpen: bool) -> SslStream:...
    def __init__(self, innerStream: _n_1_t_0) -> SslStream:...
    def __init__(self, innerStream: _n_1_t_0, leaveInnerStreamOpen: bool, userCertificateValidationCallback: RemoteCertificateValidationCallback, userCertificateSelectionCallback: LocalCertificateSelectionCallback, encryptionPolicy: EncryptionPolicy) -> SslStream:...
    def __init__(self, innerStream: _n_1_t_0, leaveInnerStreamOpen: bool, userCertificateValidationCallback: RemoteCertificateValidationCallback, userCertificateSelectionCallback: LocalCertificateSelectionCallback) -> SslStream:...
    def AuthenticateAsClient(self, targetHost: str, clientCertificates: _n_6_t_0, checkCertificateRevocation: bool):...
    def AuthenticateAsClient(self, targetHost: str):...
    def AuthenticateAsClient(self, targetHost: str, clientCertificates: _n_6_t_0, enabledSslProtocols: _n_4_t_3, checkCertificateRevocation: bool):...
    def AuthenticateAsClientAsync(self, targetHost: str, clientCertificates: _n_6_t_0, enabledSslProtocols: _n_4_t_3, checkCertificateRevocation: bool) -> _n_8_t_0:...
    def AuthenticateAsClientAsync(self, targetHost: str, clientCertificates: _n_6_t_0, checkCertificateRevocation: bool) -> _n_8_t_0:...
    def AuthenticateAsClientAsync(self, targetHost: str) -> _n_8_t_0:...
    def AuthenticateAsServer(self, serverCertificate: _n_6_t_1, clientCertificateRequired: bool, enabledSslProtocols: _n_4_t_3, checkCertificateRevocation: bool):...
    def AuthenticateAsServer(self, serverCertificate: _n_6_t_1, clientCertificateRequired: bool, checkCertificateRevocation: bool):...
    def AuthenticateAsServer(self, serverCertificate: _n_6_t_1):...
    def AuthenticateAsServerAsync(self, serverCertificate: _n_6_t_1, clientCertificateRequired: bool, enabledSslProtocols: _n_4_t_3, checkCertificateRevocation: bool) -> _n_8_t_0:...
    def AuthenticateAsServerAsync(self, serverCertificate: _n_6_t_1, clientCertificateRequired: bool, checkCertificateRevocation: bool) -> _n_8_t_0:...
    def AuthenticateAsServerAsync(self, serverCertificate: _n_6_t_1) -> _n_8_t_0:...
    def BeginAuthenticateAsClient(self, targetHost: str, clientCertificates: _n_6_t_0, enabledSslProtocols: _n_4_t_3, checkCertificateRevocation: bool, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsClient(self, targetHost: str, clientCertificates: _n_6_t_0, checkCertificateRevocation: bool, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsClient(self, targetHost: str, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsServer(self, serverCertificate: _n_6_t_1, clientCertificateRequired: bool, enabledSslProtocols: _n_4_t_3, checkCertificateRevocation: bool, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsServer(self, serverCertificate: _n_6_t_1, clientCertificateRequired: bool, checkCertificateRevocation: bool, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def BeginAuthenticateAsServer(self, serverCertificate: _n_6_t_1, asyncCallback: _n_0_t_10, asyncState: object) -> _n_0_t_8:...
    def EndAuthenticateAsClient(self, asyncResult: _n_0_t_8):...
    def EndAuthenticateAsServer(self, asyncResult: _n_0_t_8):...
    def ShutdownAsync(self) -> _n_8_t_0:...
